package gff.model.dao;

import gff.vo.InsumosVO;
import gff.vo.ParametrosVO;
import gff.vo.ReglasVO;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.ibatis.sqlmap.client.SqlMapException;

public class CatalogosDAOImp extends SqlMapClientDaoSupport implements CatalogosDAO {



	@SuppressWarnings("unchecked")
	public List<InsumosVO> getInsumos() throws SqlMapException,
	SQLException{

		try {

			return (List<InsumosVO>) getSqlMapClient().queryForList("ADMON_CATALOGOS.getInsumos");

		} catch (Exception e) {
			logger.error("Error al obtener getInsumos" + e.getMessage());
		}
		return null;		
	}

	public int updateParam( ParametrosVO param) throws SqlMapException, SQLException{

		try {

			return getSqlMapClient().update("ADMON_CATALOGOS.updateParam", param);

		} catch (Exception e) {
			logger.error("Error al obtener updateParam" + e.getMessage());
		}
		return -1;

	}



	public int insertRegla(ReglasVO regla ) throws SqlMapException, SQLException{

		try {

			return (Integer) getSqlMapClient().insert("ADMON_CATALOGOS.insertReglas", regla);

		} catch (Exception e) {
			logger.error("Error al insertRegla" + e.getMessage());
		}
		return 0;
	}

	@SuppressWarnings("unchecked")
	public ArrayList<ReglasVO> getReglas(ReglasVO regla ) throws SqlMapException, SQLException{

		try {

			return ((ArrayList<ReglasVO>) getSqlMapClient().queryForList("ADMON_CATALOGOS.getReglas", regla));

		} catch (Exception e) {
			logger.error("Error al obtener getReglas" + e.getMessage());
		}
		return null;

	}


	public int updateReglas(ReglasVO regla ) throws SqlMapException, SQLException{

		try {

			return  getSqlMapClient().update("ADMON_CATALOGOS.updateRegla", regla);

		} catch (Exception e) {
			logger.error("Error al obtener updateReglas" + e.getMessage());
			return -1;
		}

	}

	public int eliminaReglas(ReglasVO regla ) throws SqlMapException, SQLException{

		try {

			return  getSqlMapClient().delete("ADMON_CATALOGOS.eliminaRegla", regla);

		} catch (Exception e) {
			logger.error("Error  eliminaReglas" + e.getMessage());
			return -1;
		}

	}

}
